package com.sky.config;

import com.sky.properties.AliOssProperties;
import com.sky.utils.AliOssUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
import org.springframework.context.annotation.Configuration;

/**
 * @author : Sonic
 * @version : 1.0
 * @createTime : 2024-11-29  21:18
 * @description : 第三方类阿里云工具类的配置类, 方法返回 Bean对象
 */

@Configuration
@Slf4j
public class OssConfiguration {

    @Bean
    @ConditionalOnMissingBean
    public AliOssUtil aliOssUtil(AliOssProperties aliOssProperties) {
        /**
         * @param: [aliOssProperties]
         * @return: com.sky.utils.AliOssUtil
         * @description: 第三方类阿里云工具类的配置类中的方法，返回工具类Bean对象
         **/

        log.info("###### 开始创建阿里云文件上传工具类对象{}", aliOssProperties);
        return new AliOssUtil(aliOssProperties.getEndpoint(), aliOssProperties.getAccessKeyId()
                , aliOssProperties.getAccessKeySecret(), aliOssProperties.getBucketName());
    }
}
